Surveillance de Réseau avec Nagios sur Raspberry Pi

Apprenez à installer et configurer Nagios sur un Raspberry Pi pour surveiller les performances et la disponibilité de votre réseau.

Prérequis

Étape 1: Mise à jour du Système

Commencez par mettre à jour votre système :

sudo apt-get update
sudo apt-get upgrade -y

Étape 2: Installation de Nagios

Installez les dépendances nécessaires :

sudo apt-get install -y autoconf gcc libc6 make wget unzip apache2 apache2-utils php libgd-dev

Téléchargez et extrayez Nagios :

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
tar xzf nagios-4.4.6.tar.gz

Compilez et installez Nagios :

cd nagios-4.4.6
sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabled
sudo make all
sudo make install-groups-users
sudo usermod -a -G nagios www-data
sudo make install
sudo make install-daemoninit
sudo make install-commandmode
sudo make install-config
sudo make install-webconf
sudo a2enmod rewrite
sudo a2enmod cgi

Étape 3: Configuration de Nagios

Créez un utilisateur pour accéder à l'interface web :

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Redémarrez Apache :

sudo systemctl restart apache2

Étape 4: Installation des Plugins Nagios

Téléchargez et installez les plugins Nagios :

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
tar xzf nagios-plugins-2.3.3.tar.gz
cd nagios-plugins-2.3.3
sudo ./configure
sudo make
sudo make install

Étape 5: Démarrage de Nagios

Démarrez le service Nagios :

sudo systemctl start nagios

Vérifiez que Nagios fonctionne correctement :

sudo systemctl status nagios

Étape 6: Accès à l'Interface Web

Accédez à l'interface web de Nagios :

http:///nagios

Ajouts Électroniques

Indicateur LED pour l'État du Réseau

Ajoutez des LED pour signaler l'état des services :

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GREEN_LED = 17
YELLOW_LED = 27
RED_LED = 22
GPIO.setup(GREEN_LED, GPIO.OUT)
GPIO.setup(YELLOW_LED, GPIO.OUT)
GPIO.setup(RED_LED, GPIO.OUT)

def update_status(status):
    GPIO.output(GREEN_LED, status == "OK")
    GPIO.output(YELLOW_LED, status == "WARNING")
    GPIO.output(RED_LED, status == "CRITICAL")

Afficheur LCD pour Résumé des Services

Connectez un écran LCD pour afficher l'état des services Nagios :

import smbus
from time import sleep
bus = smbus.SMBus(1)
address = 0x27
# Ajouter les fonctions pour configurer et écrire sur l’écran.

Détection des Intrusions Physiques

Ajoutez un capteur PIR pour détecter les intrusions :

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
PIR_PIN = 4
GPIO.setup(PIR_PIN, GPIO.IN)
def detect_intrusion():
    if GPIO.input(PIR_PIN):
        print("Intrusion détectée !")